/*
 * layui的初始化模块可以理解为，引入这个模块的js文件
 * 值得注意的是：layui的模块之间存在依赖关系，例如引入了table模块，它会layui/lay/moudules/table.js
 * 这个文件引入进来，并且它还会将这个模块所依赖的其他模块自动加入进来，
 * 实际引入的模块有：table、form、jquery、layer、laypage、laytpl、util，7个js文件
 * 所以我仅仅初始化了table模块，却能获得form、jquery、layer的模块对象
 */
//layui初始化表格模组

layui.use(['table','transfer','element','laydate','util'], function(){
  //获得模块对象
  var table = layui.table;
  var form = layui.form;
  var $ = layui.jquery;
  var layer = layui.layer;
  var transfer = layui.transfer;
  var $ = layui.jquery,element = layui.element;
  var laydate = layui.laydate;
  var util = layui.util;
  //数据表格渲染
  var businessRptTable = table.render({
     elem: '#businessRptTable'
    ,url:'fetch/businessRecsipts'
    ,method: 'get'
    ,where: {} // 你额外要携带数据，以键值对的方式存入
    ,toolbar: '#businessRptToolbar' // 开启头部工具栏，并为其绑定左侧模板
    ,cellMinWidth: 95 // 全局定义所有常规单元格的最小宽度（默认：60）
    ,cols: [[
       {type:'numbers'} // 序号
      ,{type: 'checkbox'} // 复选框
      ,{field:'businessRecsiptId', title:'业务受理Id'}
      ,{field:'businessRecsiptNo', title:'受理单编号'}
      ,{field:'customerId', title:'客户Id'}
      ,{field:'customerName', title:'客户名'}
      ,{field:'contacts', title:'联系人'}
      ,{field:'contactsPhone', title:'联系人电话'}
      ,{field:'pickupAddress', title:'取件地址'}
      ,{field:'pickupCity', title:'取件城市'}
      ,{field:'recipients', title:'收件人'}
      ,{field:'recipientsPhone', title:'收件人电话'}
      ,{field:'recipientsAddress', title:'收件人地址'}
      ,{field:'recipientsCity', title:'收件人城市'}
      ,{field:'numberOfPackages', title:'件数'}
      ,{field:'orderType', title:'派单是否成功',templet:function(d){
    	  if(d.orderType == 'Y'){
    		  return "是";
    	  }else{
    		  return "否";
    	  }
      }}
    ]]
    ,page: true // 开启分页
    ,limit: 10 // 每页显示的条数
    ,limits: [5,10,20,50,100] // 每页条数的选择项
    ,loading: true // 是否显示加载条(切换分页的时候显示）
    ,title: '业务受理数据表' // 定义 table 的大标题（在文件导出等地方会用到）
    //,id: 'businessTable' // 设定容器唯一 id
    ,even: false // 隔行变色
  });
  
  
  //日期时间选择器
  laydate.render({
    elem: '#pickTime'
    ,type: 'datetime'
  });
  
  //电话号码失去焦点事件
  $("#senderPhone").blur(function() {
	  //alert("1");
	  var customerPhone = $("#senderPhone").val();
	  $.ajax({
		  type:'get',
		  url:'fetch/customer/'+customerPhone,
		  success:function(result){
			  console.info(result)
			  if(result == null && result == ''){
				
			  }else{
				$("#senderAddress").val(result.address);
				$("#sender").val(result.customerName);
			  }
		  }
	  })
  })
  
  //监听表单提交按钮
  form.on('submit(submitBtn)', function(data){
	 var data = data.field;
	 console.info(data)
	 console.info(data.sender)
	 $.ajax({
		 type:'post',
		 url:'fetch/businessRecsipt',
		 data:data,
		 success:function(result){
			 if(result == true){
				 layer.msg('添加成功!',{icon: 1, time: 2500});
			 }else{
				 layer.msg('添加失败!',{icon: 1, time: 2500});
			 }
			//刷新数据表格
			table.reload('businessRptTable', {url: 'fetch/businessRecsipts'});
		 }
	 });
	 return false;
  });
 
  //头部搜素表单提交
  form.on('submit(businessRptBtn)', function(data){
	  //执行后台代码
	  var data = data.field;
	  businessRptTable.reload({
		  where : {
			  'customerName':data.customerName,
			  'contacts':data.contacts,
			  'contactsPhone':data.contactsPhone,
			  'pickupAddress':data.pickupAddress,
			  'recipients':data.recipients,
			  'orderType':data.orderType
		  },
		  page : {
			  curr : 1
		  }
	  });
	  return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
  });
  
  
  //为省下拉框赋值
  $.ajax({
		type:"get",
		url:'base/findAllProvince',
		success:function(result) {
			//province = result;
		    var mh_options = "<option value=''>请选择</option>";
		    for(var i=0;i<result.length;i++){
		        mh_options += "<option value='"+result[i].province+"'>"+result[i].province+"</option>";
		    }
		    $("#mailForm #province").append(mh_options);
		    $("#mailForm #provinces").append(mh_options);
		    //console.info(mh_options)
		    form.render('select');
		}
  })
  
  //为市下拉框赋值
  form.on('select(province)', function(data){
	 $("#mailForm #city").html("");
	 $("#mailForm #district").html('');
	  var province = data.value;
	  $.ajax({
			type:"get",
			data:{province:province},
			url:'base/findAllCity',
			success:function(result) {
				var mh_options = "<option value=''>请选择</option>";
			    for(var i=0;i<result.length;i++){
			        mh_options += "<option value='"+result[i].city+"'>"+result[i].city+"</option>";
			    }
			    $("#mailForm #city").append(mh_options);
			    //console.info(mh_options)
			    form.render('select');
			}
		});
	})
	
	//为县(区)下拉框赋值
	form.on('select(city)', function(data){
		  $("#mailForm #district").html('');
		  var city = data.value;
		  $.ajax({
				type:"get",
				data:{city:city},
				url:'base/findAllDistrict',
				success:function(result) {
					var mh_options = "<option value=''>请选择</option>";
				    for(var i=0;i<result.length;i++){
				        mh_options += "<option value='"+result[i].district+"'>"+result[i].district+"</option>";
				    }
				    $("#mailForm #district").append(mh_options);
				    //console.info(mh_options)
				    form.render('select');
				}
			});
	});
  //--------------------------------------------------------------------------------------------
  //为市下拉框赋值
  form.on('select(provinces)', function(data){
	 $("#mailForm #citys").html("");
	 $("#mailForm #districts").html('');
	  var province = data.value;
	  $.ajax({
			type:"get",
			data:{province:province},
			url:'base/findAllCity',
			success:function(result) {
				var mh_options = "<option value=''>请选择</option>";
			    for(var i=0;i<result.length;i++){
			        mh_options += "<option value='"+result[i].city+"'>"+result[i].city+"</option>";
			    }
			    $("#mailForm #citys").append(mh_options);
			    //console.info(mh_options)
			    form.render('select');
			}
		});
	})
	
	//为县(区)下拉框赋值
	form.on('select(citys)', function(data){
		  $("#mailForm #districts").html('');
		  var city = data.value;
		  $.ajax({
				type:"get",
				data:{city:city},
				url:'base/findAllDistrict',
				success:function(result) {
					var mh_options = "<option value=''>请选择</option>";
				    for(var i=0;i<result.length;i++){
				        mh_options += "<option value='"+result[i].district+"'>"+result[i].district+"</option>";
				    }
				    $("#mailForm #districts").append(mh_options);
				    //console.info(mh_options)
				    form.render('select');
				}
			});
	});
  
  
  form.on('checkbox', function(obj) {
		switch(obj.elem.title) {
			case '物品保价':
				if(obj.elem.checked) {
					$('.keepChecked').show();
				} else {
					console.log(obj.elem.title + ' false')
					$('.keepChecked').hide();
				}
				break;
			case '代收货款':
				if(obj.elem.checked) {
					$('.collectionOnDeliveryChecked').show();
				} else {
					$('.collectionOnDeliveryChecked').hide();
				}
				break;
			default:
				break;
		}
	});
	form.on('select', function(obj) {
		
	});
	
	  //工单数据表格渲染
	  var workOrderTable = table.render({
	     elem: '#workOrderTable'
	    ,url:'delivery/Workorders'
	    ,method: 'get'
	    ,where: {} // 你额外要携带数据，以键值对的方式存入
	   // ,toolbar: '#businessRptToolbar' // 开启头部工具栏，并为其绑定左侧模板
	    ,cellMinWidth: 150 // 全局定义所有常规单元格的最小宽度（默认：60）
	    ,cols: [[
	       {type:'numbers'} // 序号
	      ,{type: 'checkbox'} // 复选框
	      ,{field:'workBillNo', title:'工单单号'}
	      ,{field:'businessNoticeNo', title:'受理单编号'}
	      ,{field:'billType', title:'派工单类型'}
	      ,{field:'pickState', title:'取件状态'}
	      ,{field:'workBillTime', title:'工单生成时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm:ss')}}</div>"}
	      ,{field:'staffName', title:'取派员'}
	      ,{field:'staffNumber', title:'取派员编号'}
	      ,{field:'takeOrgName', title:'取派员单位'}
	      ,{field:'takeTime', title:'取派员时间', templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm:ss')}}</div>"}
	    ]]
	    ,page: true // 开启分页
	    ,limit: 10 // 每页显示的条数
	    ,limits: [5,10,20,50,100] // 每页条数的选择项
	    ,loading: true // 是否显示加载条(切换分页的时候显示）
	    ,title: '派工单数据表' // 定义 table 的大标题（在文件导出等地方会用到）
	    ,id: 'workOrderTable' // 设定容器唯一 id
	    ,even: false // 隔行变色
	  });
	  
	  //监听行事件
	  table.on('row(businessRptTableEvent)', function (obj) {
		  console.info(obj.data.businessRecsiptId)
		  var data = obj.data.businessRecsiptId;
		  table.reload("workOrderTable", {url: "delivery/workOrder", where: {businessNoticeId:data}});
	  })
});
